package com.qzxy.premiumhotelsystem.domain.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @TableName employees
 */
@TableName(value ="employees")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Employees implements Serializable {

    @TableId
    @ExcelProperty("员工编号")
    private Integer employeeId;

    @ExcelProperty("员工邮箱")
    @NotBlank(message = "员工邮箱不为空")
    private String email;

    @ExcelProperty("员工密码")
//    @NotBlank(message = "员工密码不为空")
    private String password;

    @ExcelProperty("员工手机号")
    @NotBlank(message = "员工手机号不为空")
    private String telephone;

    @ExcelProperty("员工身份证")
    @NotBlank(message = "员工身份证不为空")
    private String idCard;

    @ExcelProperty("员工姓名")
    @NotBlank(message = "员工姓名不为空")
    private String nickname;

    @ExcelProperty("员工年龄")
    @NotNull(message = "员工年龄不为空")
    private Integer age;

    @ExcelProperty("员工性别")
    @NotBlank(message = "员工性别不为空")
    private String sex;

    @ExcelProperty("员工薪水")
    @NotNull(message = "员工薪水不为空")
    private BigDecimal salary;

    @ExcelProperty("员工头像")
    private String imgUrl;

    @ExcelProperty("员工状态")
    private String status;

    @ExcelProperty("登录时间")
    private Date loginTime;

    @ExcelProperty("登录IP")
    private String loginIp;

    @ExcelProperty("更新时间")
    private Date updateTime;

    @ExcelProperty("创建时间")
    private Date createTime;

    private static final long serialVersionUID = 1L;
}